const qs = require('querystring')


function bodyParser(req, res, next){
    // 自定义中间件的具体业务逻辑
    // 定义变量，用来存储客户端发送过来的请求体数据
    let str = ""
    // 监听 req 的 data 事件 （客户端发送过来的新的请求体数据）
    req.on('data', (chunk) => {
        // 拼接请求体数据，隐式转换为字符串
        str += chunk
    })
    // 监听 req 对象的 end 事件 (请求体发送完毕后自动触发)
    req.on('end', () => {
        // 把字符串解析为对象形式
        const body = qs.parse(str)
        req.body = body
        next()
    })
    
}

module.exports = bodyParser
